package com.zbkj.crmeb.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.zbkj.crmeb.merchant.api.request.BuyMemberRequest;
import com.zbkj.crmeb.merchant.api.response.InformationMemberResponse;
import com.zbkj.crmeb.merchant.api.response.MemberDetailsResponse;
import com.zbkj.crmeb.merchant.api.response.ShowMemberResponse;
import com.zbkj.crmeb.user.model.UserMemberRecord;
import com.zbkj.crmeb.user.request.MemberRecordRequest;
import com.zbkj.crmeb.user.response.MemberRecordInfoResponse;
import com.zbkj.crmeb.user.response.MemberRecordResponse;

/**
 * <p>
 * 用户购买会员记录表 服务类
 * </p>
 *
 * @author wuzp
 * @since 2022-05-11
 */
public interface UserMemberRecordService extends IService<UserMemberRecord> {

    Object buyMember(BuyMemberRequest request);

    Integer saveMemberRecord(BuyMemberRequest request);

    Boolean saveQuestionnaire(BuyMemberRequest request);

    Object buyMemberRecord(BuyMemberRequest request);

    boolean successfulAfter(String orderNo,Integer uid, String outOrderId);

    boolean yuePayMember(BuyMemberRequest request);

    UserMemberRecord getByOrderNo(String orderNo);

    PageInfo<MemberRecordResponse> getMerMemberList(MemberRecordRequest request, Integer merId);

    ShowMemberResponse showMember(Integer merId);

    InformationMemberResponse informationMember();

    UserMemberRecord getUserMember(Integer uid);

    /**
     * 商户会员权限详情
     * @param merId
     * @return com.zbkj.crmeb.merchant.api.response.MemberDetailsResponse
     */
    MemberDetailsResponse getMemberDetails(Integer merId);

    MemberRecordInfoResponse getMemberInfoById(Integer id);

}
